package ooday04;

import javax.sound.midi.Soundbank;
import java.sql.SQLOutput;

public class AnonInnerClassDemo {
    public static void main(String[] args) {
        //创建Aoo的一个匿名派生类，没有名字
        //为该派生类创建了一个对象，名为o1，向上造型为Aoo类型
        //-------new Aoo（）{}；是在创建Aoo的派生类对象
        //大括号为派生类的类体
        Aoo o1 = new Aoo() {};//只能建立一个

        //创建Aoo的一个匿名派生类，没有名字
        //为该派生类创建了一个对象，名为o2，向上造型为Aoo类型
        Aoo o2 = new Aoo() {};
        //超类型          派生类对象
        Aoo o3 = new Boo1();//相当于第二步
        Aoo o4 = new Boo1();
        Aoo o5 = new Boo1();
        //创建Aoo的一个匿名派生类，没有名字
        //为该派生类创建了一个对象，名为o1，向上造型为Aoo类型
        //大括号为派生类的类体
        int num = 55;
        num = 56;
        Boo o6 = new Boo(){
           void show(){
               System.out.println("showshow");
               //num = 55;//编译错误，匿名内部类中不能修改外面局部变量的值
           }
        };
        o6.show();//通过派生类对象o6来调用派生类体中的show（）方法
    }

}

class Boo1 extends Aoo{//相当于第一步

}

abstract class Boo{
    abstract void show();

}



abstract class Aoo{

}